home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 22
/
Amiga Format AFCD22 (Jan 1998, Issue 106).iso
/
-seriously_amiga-
/
shareware
/
hardware
/
a500ide
/
software
/
atid600.i
< prev
next >
Wrap
Text File
|
1997-11-05
|
2KB
|
91 lines
TF_BASE equ $DA0000 ;task file
CS0 equ $0000
CS1 equ $1000
REG_INC equ 4
Y equ 0
;command block registers
TF_DATA equ (TF_BASE+$0*REG_INC+CS0)
TF_DATA_8BIT equ (TF_BASE+$0*REG_INC+CS0)
TF_ERROR equ (Y+TF_BASE+$1*REG_INC+CS0)
TF_FEATURES equ (Y+TF_BASE+$1*REG_INC+CS0)
TF_SECTOR_COUNT equ (Y+TF_BASE+$2*REG_INC+CS0)
TF_SECTOR_NUMBER equ (Y+TF_BASE+$3*REG_INC+CS0)
TF_CYLINDER_LOW equ (Y+TF_BASE+$4*REG_INC+CS0)
TF_CYLINDER_HIGH equ (Y+TF_BASE+$5*REG_INC+CS0)
TF_DRIVE_HEAD equ (Y+TF_BASE+$6*REG_INC+CS0)
TF_STATUS equ (Y+TF_BASE+$7*REG_INC+CS0)
TF_COMMAND equ (Y+TF_BASE+$7*REG_INC+CS0)
;control block registers
TF_ALTERNATE_STATUS equ (Y+TF_BASE+$6*REG_INC+CS1)
TF_DEVICE_CONTROL equ TF_ALTERNATE_STATUS
TF_DRIVE_ADDRESS equ (Y+TF_BASE+$7*REG_INC+CS1)
; Bit names for general use
bit7 equ $80
bit6 equ $40
bit5 equ $20
bit4 equ $10
bit3 equ $08
bit2 equ $04
bit1 equ $02
bit0 equ $01
;status register
BSY equ bit7 ;Busy
DRDY equ bit6 ;drive ready
DWF equ bit5 ;drive write fault
DF equ DWF
DSC equ bit4 ;drive seek complete
SKC equ DSC
DRQ equ bit3 ;data request
CORR equ bit2 ;corrected data
IDX equ bit1 ;index
ERR equ bit0 ;error
;device control register
SRST equ bit2 ;software reset
nIEN equ bit1 ;interrupt enable
;error register
BBK equ bit7 ;bad block detected
UNC equ bit6 ;uncorrectable data error
MC equ bit5 ;media changed
IDNF equ bit4 ;ID Not Found
ABRT equ bit3 ;aborted command
MCR equ bit2 ;Media Change Requested
TK0NF equ bit1 ;Track 0 Not Found
AMNF equ bit0 ;Address Mark Not Found
;drive / head register
;bit7 aina 1
L equ bit6 ;L=0.CHS , L=1.LBA
;bit 5 aina 1
DRV equ bit4 ;drive select 0=drive0
DRV0 equ 0+bit7+bit5
DRV1 equ DRV+bit7+bit5
HS3 equ bit3 ; Head select / LBA bits 24-27
HS2 equ bit2 ;
HS1 equ bit1
HS0 equ bit0
;commands
ATA_IDENTIFY_DRIVE equ $EC
ATA_EXECUTE_DRIVE_DIAGNOSTIC equ $90
ATA_SLEEP equ $E6
ATA_SEEK equ $70
ATA_READ_SECTORS equ $20
ATA_WRITE_SECTORS equ $30
ATA_NOP equ 0
ATA_IDLE equ $e3;$97
ATA_IDLE_IMMEDIATE equ $E1 equ ;$95
ATA_STANDBY_IMMEDIATE equ $E0
ATA_INIIIALIZE_DRIVE_PARAMETERS equ $91
ATA_SET_FEATURES equ $EF
ATA_CHECK_POWER_MODE equ $E5
;features
FEATURE_8BIT_ON equ $01
FEATURE_8BIT_OFF equ $81